package io.github.wslxm.springbootplus2.manage.sys.dao;

import com.baomidou.mybatisplus.extension.service.IService;
import io.github.wslxm.springbootplus2.client.sys.model.vo.USysDictVO;
import io.github.wslxm.springbootplus2.manage.sys.model.entity.SysDict;

import java.util.List;
import java.util.Map;

public interface SysDictDao  extends IService<SysDict> {


    /**
     * 通过字典code 查询当前字典下的所有可选数据
     *
     * @param code 父级code
     * @return java.util.List<io.github.wslxm.springbootplus2.manage.admin.model.vo.DictionaryVO>
     * @author wangsong
     * @date 2021/12/27 16:45
     * @version 1.0.0
     */
    List<USysDictVO> findByCode(String code);

    /**
     * 通过字典code 查询当前字典下的所有可选数据(返回 map 数据)
     * @param code
     * @return
     */
    Map<String,USysDictVO> findMapByCode(String code);

    /**
     * 通过字典code + 字典值 获取字典具体的数据 (包括禁用数据)
     *
     * @param code     父 code, 不传默认为顶层
     * @param nextCode 子 code = 字典值
     * @return java.util.List<io.github.wslxm.springbootplus2.manage.admin.model.vo.DictionaryVO>
     * @author wangsong
     * @date 2021/12/27 16:45
     * @version 1.0.0
     */
    USysDictVO findByCodeNext(String code, String nextCode);

}
